Visualizing reach of posted content in a social networking system

ABSTRACT

Effects of content communications propagated to users of a social networking system may be tracked and measured by the social networking system. Identifiers of content presented to users within a time period before the users interact with the content are recorded. As users interact with the content, additional data describing the interactions with the content and the users interacting with the content are stored. Various metrics may be determined from the data describing interactions with the content. For example including virality metrics and reach metrics, may be determined and presented to the user that posted the content.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/689,441 filed on Nov. 29, 2012, which is related to U.S. applicationSer. No. 13/229,515 filed on Sep. 9, 2011. The subject matter of theforegoing are incorporated herein by reference in their entirety.

BACKGROUND

This invention relates generally to social networking, and in particularto visualizing the reach of a content item in a social networkingsystem.

Social networking system users become engaged with other socialnetworking system users by sharing photos, real-time status updates, andplaying social games. The amount of information gathered from socialnetworking system users is staggering, as large amounts of informationin the form of news articles, videos, photos, and game achievementsshared with other users of the social networking system may be retained.Certain content posted to a social networking system may become “viral”as users share content with other social networking system users. Butconventional social networking systems lack the capability to measurethe “virality” of a content item as well as other metrics about contentthat may be useful for users to understand how their posted content isseen by others within the social networking system. In particular,conventional social networking systems are unable to fully track userinteractions with the social networking system.

SUMMARY

Embodiments of the present disclosure allow tracking and measurement ofeffects of a content item and derivatives of the content item propagatedto users of a social networking system. A user of the social networkingsystem provides a content item to the social networking system forpresentation to other social networking system users. After the socialnetworking system presents the content item, the user providing thecontent item may request to visualize the reach of the posted contentitem, which describes presentation of the content item to socialnetworking system users.

In an embodiment, after presenting a content item to social networkingsystem users, the social networking system creates label objects andedge object tracking the content item and derivatives of the contentitem. When a request to visualize the reach of the posted content itemis received, the social networking system retrieves the created labelobjects and edge objects and determines reach data from the retrievedlabel objects and edge objects. The reach data includes informationidentifying other users of the social networking system performingactions on the posted content item and on content derived from theposted content item, and may also include information describing theactions performed on the content item and its derivatives by the otherusers. The social networking system then provides the reach data to thedevice for presentation to the user requesting visualization of thecontent item reach.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram illustrating a process of visualizing contentitem propagation within a social networking system, in accordance withan embodiment.

FIG. 1B is an example data graph for visualizing content itempropagation within a social networking system, in accordance with anembodiment.

FIG. 1C is an alternative type of data graph for visualizing contentitem propagation within a social networking system, in accordance withan embodiment.

FIG. 2 illustrates a block diagram of a system environment for a socialnetwork system, in accordance with an embodiment.

FIG. 3 is a block diagram of system architecture of a social networkingsystem, in accordance with an embodiment.

FIG. 4 is a flowchart of a process for visualizing reach of a contentitem, in accordance with an embodiment.

FIG. 5 is a flowchart of a process for generating reach data describinginteractions with a content item by social networking system users, inaccordance with an embodiment.

The figures depict various embodiments of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION Overview

Content items presented through a social networking system may encourageusers to perform certain actions on the presented objects. Examples ofcontent items include photos, videos, textual status updates, links towebsites and user actions within and outside of a social networkingsystem, may be shared by users with other users of a social networkingsystem. Examples of actions performed by a user with a content iteminclude expressing a preference of a page presented via the socialnetworking system (i.e., users may “like” the page), sharing a contentitem with other social networking system users, or commenting on acontent item. Each action performed by a social networking system usermay be presented by the social networking system as a new content item.These new content items describing user actions may be described as“stories.” These stories may be distributed to social networking systemusers through different communication channels, such as news feeds,posting on pages maintained by the social networking system, andsponsored stories.

Many different types of actions may be performed through a socialnetworking system. Additional examples of actions include commenting ona photo album, transmitting messages between users, becoming a fan of amusician, joining an event, joining a group, or other similar actions. Auser may perform actions with content items on the social networkingsystem as well as other applications operating on the social networkingsystem. Moreover, one or more derivatives of the original content itemmay propagate within the social networking system in addition to theoriginal content item. A derivative of a posted content item is aversion of the content item that has been modified some way by a user ofthe social networking system. For example, a user may post a contentitem (original content item), and a second user may re-post the contentitem; re-post the content item with added commentary, etc. The re-postedcontent item is a derivative of the original content item.

FIG. 1A illustrating a process 100 of visualizing propagation of acontent item within a social networking system. A device receives 102content, or a description of content, for presentation to users of asocial networking system. In one embodiment, the device receives 102 aselection of content displayed to a user to present the selected contentto social networking system users. For example, the device displays anews story from a data source about a dog that will be euthanized unlessadopted. A user of the device may select the news story for distributionvia the social networking system. Alternatively, the user creates oridentifies a content item using the device, and communicates the contentitem to the social networking system for presentation to socialnetworking system users.

The content is then posted 104 to the social networking system from thedevice. The content item posted 104 to the social networking system maybe, for example, a copy of the content, a link to the content, thecontent plus additional content (e.g., story plus a personal plea toadopt the dog), etc. The social networking system compiles tracking dataas the content item propagates through the social networking system. Thetracking data includes reach data for visually depicting userinteractions with a posted content item. Additionally, in someembodiments, some or all of the tracking data may be available to usersof the social networking system connected to the user posting 104 thecontent item.

In alternate embodiments, the user specifies a tracking property of thecontent item to cause the social networking system to compile trackingdata. The tracking property may be set at any time. For example, theuser may set the tracking property of the content item while posting 104or anytime after the content item has been posted.

After the content item has been posted, the user may select 106 areach-tracking option associated with the posted content item. Thereach-tracking option allows a user to receive one or more reach metricsassociated with posted content items, allowing the user to ascertain thereach of the content item to other users. For example, the user may wantto know how many people have actually viewed, liked, shared, or selectedthe posted content item. Reach metrics are discussed in detail below inconjunction with FIG. 3, and also described in U.S. application Ser. No.13/229,515 (the '515 application), filed on Sep. 9, 2011, which ishereby incorporated by reference in its entirety.

In some embodiments, a metric-tracking option is associated with thecontent item. The metric-tracking option allows a user to indicatevisualization of one or more metrics that are associated with the postedcontent item and/or derivatives of that content item. For example, inaddition to reach metrics, the user may track virality metrics,engagement metrics, conversion metrics, location metrics, storytellermetrics, or some combination thereof.

After selecting 106 the reach-tracking option, the device sends 108 avisualization request to the social networking system. As discussed indetail below in conjunction with FIG. 3, the visualization request mayinclude one or more request parameters specifying conditions associatedwith the visualization request. For example, a request parameterspecifies a type of metric to be visually described to the user (e.g.,reach, virality, etc.).

The social networking system determines reach data using tracking datacompiled for the content item and provides the reach data to therequesting device. The social networking system monitors the propagationof the content item among users of the social networking system usinglabel objects and edge objects as described in the '515 application. Inbrief, label objects include tracking information associated with atracked content item and users' actions relative to that content item.Label objects tracking different generations of the same content itemmay be generated. For example, a first label item may be associated witha content item posted by a user. A second label item may be associatedwith a re-posting of the content item with a personal narrative by adifferent user. A third label item may be associated with another userthat views the re-posted content to identify the other user's actionrelative to the content item. Thus, the social networking system maytrack various generations of content originating from a single contentitem. Edge objects store information about users' connections on thesocial networking system. Information in an edge object may include theinteractions between the user and other objects on the social networkingsystem, which include wall posts, comments on photos, geographic places,and tags in photos. Label objects may be associated with edge objectscreated from the actions performed on objects.

The social networking system uses the tracking information in the labeland edge objects to determine one or more metrics, such as reachmetrics. Reach metrics approximate the number of unique users performinga particular action on a content item and/or derivatives of the contentitem. For example, reach metrics may track viewing a content item,sharing a content item, expressing a preference of a content item(“liking” the content item), selecting a content item, or somecombination thereof. In some embodiments, the social networking systemdynamically determines reach metrics as users perform actions.Alternatively, the social networking system determines the reach metricsin response to receiving a visualization request. In some embodiments,the social networking system may also determine virality metrics,engagement metrics, conversion metrics, location metrics, storytellermetrics, or some combination thereof.

The social networking system formats the reach metrics into reach datain accordance with the visualization request. For example, the socialnetworking system filters one or more reach metrics based on requestparameters (e.g., remove location information) in the visualizationrequest. Reach data may calculate direct reach and indirect reach of acontent item in the social networking system. Direct reach of a contentitem is information associated with one or more users directly connectedto the user and performing a type of interaction, or types ofinteractions, with the content item. Indirect reach of a content item isinformation associated one or more users that are indirectly connectedto the user and that perform a type of interaction, or types ofinteractions, with the content item. The social networking system thenprovides the reach data to the requesting device. Additionally,parameters of the visualization request may indicate whether the socialnetworking system provides a data graph to the device, or raw data whichthe device may use to populate a data graph. After receiving 110 thereach data from the social networking system, the device presents 112the received reach data to the user. In some embodiments, the socialnetworking system may also present other metrics based on data receivedfrom the social networking system (e.g., virality metrics from viralitydata, engagement metrics from engagement data, etc).

In the example shown by FIG. 1A, reach data is presented 112 to the uservia a data graph 114. The data graph 114 generally shows a relationshipbetween the content item posted by the user and its propagation (and/orpropagation of its derivatives) throughout the social networking system.For example, the data graph 114 depicts four concentric circles thatrepresent a degree of connection between users interacting with thecontent item and the user posting the content item. In FIG. 1, theseconcentric circles are identified as: user circle 116, friends circle118, friends-of-friends circle 120, and others circle 122. User circle116 represents the user's posting of the content item. The friendscircle 118 represents the number of users that have performed aparticular action on the content item (or derivatives thereof) and thatare directly linked to the user who posted the content. Thefriends-of-friends circle 120 represents the number of users that haveperformed the particular action on the content item (or derivativesthereof) that are directly linked to a friend of the user who posted theoriginal content item, but not directly linked to that user. The otherscircle 122 represents the number of the users that performed theparticular action on the content items (or derivatives thereof) that aredirectly or indirectly linked to friends-of-friends and are not directlylinked to the user who posted the original content item or to friends ofthe user. An action may be, for example, viewing the content item,sharing the content item, liking the content item, selecting a contentitem, some combination thereof, etc.

In this embodiment, the data graph 114 includes soft-buttons 124, orother interface elements, for selecting a particular action of interestto the user. The soft-buttons 124 may, for example, correspond toparticular actions performed on the content item and/or derivativesthereof. As shown in FIG. 1A, the “View” soft button is selected.Accordingly, the friends circle 118, the friends-of-friends circle 120,and the others circle 122 display reach data associated with the numberof users who have viewed the posted content item and/or derivativesthereof. In the illustrated example, 12 friends, 50 friends-of-friends,and 200 others have viewed the content item or derivatives of the postedcontent item. In some embodiments, one or more of the soft buttons maypresent information describing one or more metrics. For example, a softbutton may include: metric data associated with the content item and/orderivatives of the content item and an action associated with the softbutton, a sum of metric data associated with the content item andderivatives of the content item and an action associated with the softbutton, or some combination thereof.

In one embodiment, the user may select one or more of the soft buttonsat any time to change the presented reach data. Further, the relativesizes of the friends circle 118, the friends-of-friends circle 120, andthe others circle 122, may vary depending on the number of usersassociated with each of the concentric circles to more clearly identifythe number of users associated with different concentric circles. Forexample, in the example shown by FIG. 1A, the others circle 122 has thelargest number (i.e., 122) of users associated with it. However, if 40users are associated with the others circle 122, the others circle 122would be smaller than the friend-of friends circle 120, which isassociated with 50 users in FIG. 1A, but larger than the friends circle118, which is associated with 12 users in FIG. 1A.

In some embodiments, the device automatically presents 112 the reachdata in a particular format (e.g., data graph 114). For example, one ormore settings stored by the device or by the social networking systemspecify the format for presentation of the reach data. In otherembodiments, the device prompts the user to specify a format forpresentation of the reach data when the reach data is received 110.Additionally, the user may modify the format with which the reach datais presented at any time. For example, the device may prompt the user tochoose a particular format for a data graph before displaying the reachdata and may allow the user to choose a different format while the datagraph is displayed. Additionally, the device may allow a user to set upa default format for presentation of reach data unless a user selectionof a different format is received.

Alternate formats for data graphs of reach data are illustrated in FIGS.1B and 1C. FIG. 1B is a data graph 126 visualizing propagation of acontent item within a social networking system using a number ofconnected nodes showing degrees of connections between the usersproviding the content item and users interacting with the content itemand/or derivatives of the content item. Each node in the data graph 126is identified by a number representing how closely the user representedby the node is connected to the user posting the content item. Forexample, the second tier (i.e., nodes are labeled 2) are users connectedto the user posting the content item, the third tier are users connectedto a user connected to the user posting the content, and tiers above thethird tier are “others,” as described above in conjunction with FIG. 1A.Additionally, the links between nodes represent a particular interactionbetween two nodes, such as when a user expresses an interest in acontent item shared by another user.

FIG. 1C is another format for a data graph 128 showing propagation of acontent item and/or its derivatives within a social networking system.The data graph 128 illustrates reach data using a 2-D regular grid.Aspects of the reach data displayed by the data graph 128 are determinedby a user's selection of one or more soft buttons or other user-providedinput. The example of FIG. 1C shows a data graph 128 depicting how anumber of users connected to the user posting a content item, usersconnected to a user that is connected to the user posting the contentitem, other users, and a total number of users that view a particularcontent item change over time. Soft buttons 124, or any other suitableinput mechanism, allow the user control over aspects of the reach datathat are presented. Additionally, the user may further refinepresentation of reach data 128 through one or more selection boxes 130.In one embodiment, the selection boxes 130 identify the types of userspresented on the data graph 128, such as whether data describing usersconnected to the user posting the content item, users connected to auser that is connected to the user posting the content item, otherusers, a total number of users, or any combination thereof is displayed.Any other suitable data graph format may be used to present reach data,other metric data, or some combinations thereof, to the user.

System Architecture

FIG. 2 illustrates a block diagram of a system environment 200 for asocial networking system 205. The system environment 200 includes thesocial networking system 205, one or more devices 210, and one or moredata sources 215, and a network 220. In various embodiments, the systemenvironment 200 may be organized in an alternative topology orconfiguration, and include different and/or additional modules.

The devices 210 comprise one or more computing devices capable ofprocessing data as well as transmitting and/or receiving data via thenetwork 220. Examples of a device 210 include a personal digitalassistant (PDA), a mobile telephone, a laptop computer, a desktopcomputer, or any other suitable computing device. A device 210 mayexecute a social networking application allowing a social networkingsystem user to exchange data with the social networking system 205 via adevice 210 and the network 220. Alternatively, a social networkingsystem user accesses the social networking system 205 via a browserexecuting by the device 210. User identifying (ID) information for usersof the device 210 previously accessing the social networking system 205may be stored by the device 210.

The devices 210 are configured to communicate with the social networkingsystem 205 and/or other devices via the network 220. In one embodiment,the network 220 uses standard communications technologies and/orprotocols. Thus, the network 220 may include wired and/or wirelesscommunication channels using technologies such as Ethernet, 802.11family of standards, worldwide interoperability for microwave access(WiMAX), 3G, 4G, CDMA, digital subscriber line (DSL), etc. Examples ofnetworking protocols used by the network 220 include multiprotocol labelswitching (MPLS), the transmission control protocol/Internet protocol(TCP/IP), the User Datagram Protocol (UDP), the hypertext transportprotocol (HTTP), the simple mail transfer protocol (SMTP), and the filetransfer protocol (FTP). The data exchanged over the network 220 may berepresented using technologies and/or formats including the hypertextmarkup language (HTML) and the extensible markup language (XML). Inaddition, all or some of the communication channels may be encryptedusing conventional encryption technologies such as secure sockets layer(SSL), transport layer security (TLS), and Internet Protocol security(IPsec). Data sources 215 are sources of content communicating with thesocial networking system 205 and/or one or more devices 210 via thenetwork 220. Examples of a data source 215 include a news agencywebsite, a company website, or any other source of content.

The social networking system 205 communicates with one or more devices205 and/or one or more data sources 215 via the network 220. FIG. 3 isan example block diagram of a system architecture of the socialnetworking system 205. The social networking system 205 includes a webserver 305, a content store 310, an action logger 315, an action log320, a user profile store 325, an edge store 330, a label store 335, acausation tracking module 340, a metric analysis module 345, and a reachdata module 350. In other embodiments, the social networking system 205may include additional, fewer, or different modules for variousapplications. Conventional components such as network interfaces,security functions, load balancers, failover servers, management andnetwork operations consoles, and the like are not shown so as to notobscure the details of the system.

The web server 305 links the social networking system 205 via thenetwork 220 to one or more devices 210; the web server 305 serves webpages, as well as other web-related content, such as JAVA®, FLASH®, XML,and so forth. The web server 305 may provide the functionality ofreceiving and routing messages between the social networking system 205and the devices 210, for example, visualization requests, metric data,instant messages, queued messages (e.g., email), text and SMS (shortmessage service) messages, or messages sent using any other suitablemessaging technique. The user may send a request to the web server 305to upload information, for example, images or videos that are stored inthe content store 212 and/or data source 215. Additionally, the webserver 305 may provide application programming interface (API)functionality to send data directly to native user device operatingsystems, such as IOS®, ANDROID™, WEBOS®, and RIM.

The content store 310 stores content items associated with a userprofile, such as images, videos, and audio files. Content items from thecontent store 310 may be displayed when a user profile is viewed or whenother content associated with the user profile is viewed. For example,displayed content items may show images or video associated with a userprofile or show text describing a user's status. Additionally, othercontent items included in the content store 310 may facilitate userengagement by encouraging a user to expand his connections to otherusers, to invite new users to the system, or to increase interactionwith the social networking system 205 by displaying content related tousers, objects, activities, or functionalities of the social networkingsystem 205. Examples of content items include: suggested connections tousers, suggestions to perform actions, media provided to the socialnetworking system 205, media maintained by the social networking system205 (e.g., pictures or videos), status messages or links posted by usersto the social networking system 205, events, groups, pages (e.g.,representing an organization or commercial entity), and any othercontent provided by or accessible via the social networking system 205.

The action logger 315 receives communications from the web server 305about user actions on and/or off the social networking system 205. Theaction logger 315 populates the action log 320 with information aboutuser actions to track them. Examples of actions include: adding aconnection to another user, sending a message to another user, uploadingan image, reading a message from another user, viewing contentassociated with a user, attending an event, or other suitable actions.In addition, a number of actions described in connection with otherobjects are directed at particular users, and are associated with theparticular users as well.

The action log 320 stores information describing user actions performedinternal to the social networking system 205 as well as user actionsperformed on external websites that communicate information to thesocial networking system 205. As mentioned above, users may interactwith various objects on the social networking system 205, includingcommenting on posts, sharing links, and checking-in to physicallocations via a device 210. The action log 320 may also include useractions on external websites. For example, an e-commerce website thatprimarily sells luxury shoes at bargain prices may recognize a user of asocial networking system 205 through website plug-ins that enable thee-commerce website to identify the user. Because users of the socialnetworking system 205 are uniquely identifiable, e-commerce websites,such as this luxury shoe reseller, may use the information about theseusers as they visit their websites. The action log 320 records dataabout these users, including viewing histories, content items that wereclicked on, purchasing activity, and buying patterns.

User account information and other information related to a user arestored in the user profile store 325. The user profiles stored in userprofile store 325 describe the users of the social networking system205, including biographic, demographic, and other types of descriptiveinformation, such as work experience, educational history, gender,hobbies or preferences, location, and the like. A user profile may alsostore other information provided by the user, for example, defaultformats for data graphs, images, videos, etc. In certain embodiments,images of users may be tagged with information identifying the socialnetworking system users displayed in an image. Additional informationthat may be included in a user profile includes age, gender, interests,geographic location, email addresses, credit card information, and otherpersonalized information. The user profile store 305 also maintainsreferences to the actions stored in the action log and performed onobjects in the content store 310.

The edge store 330 stores edges describing connections between users andother objects on the social networking system 205. Some edges may bedefined by users, allowing users to specify their relationships withother users. For example, users may generate edges with other users thatparallel the users' real-life relationships, such as friends,co-workers, partners, and so forth. Other edges are generated when usersinteract with objects in the social networking system 205, such asexpressing interest in a page on the social networking system 205,sharing a link with other users of the social networking system 205, andcommenting on posts made by other users of the social networking system205. The information about an edge, such as affinity scores for objects,interests, and other users, is stored in the edge store 330.

The label store 335 stores label objects including tracking informationassociated with a tracked content item and users' actions relative tothe content item. Additionally, the social networking system 205 maycreate label objects tracking different generations of a content item.Label objects may be associated with edge objects created as a result ofthe actions performed on content items. Label objects are furtherdescribed in U.S. application Ser. No. 13/229,515 (the '515application), filed on Sep. 9, 2011, which is hereby incorporated byreference in its entirety.

The causation tracking module 340 generates label objects, stored in thelabel store 335, associated with edge objects for user actions. Thelabel objects include identifiers for content items presented to theuser performing an action prior to the action being performed. Whengenerating a label object, the causation tracking module 340 may alsoidentify additional label objects associated additional edges associatedwith the content item presented to the user. Hence, if a content itemwas generated as a result of a prior user action, a label objectidentifying the user and the action generating the content item isgenerated and stored in the label store 335. Subsequently, if thecontent item is provided to an additional user that performs an actionafter being presented with the content item, an additional label objectdescribing the action by the additional user is generated and associatedwith the label object describing the action generating the content itemby the causation tracking module 340.

The metric analysis module 345 determines various metrics from labelobjects generated by the causation tracking module 340. Examples ofmetrics generated by the metric analysis module 345 include reachmetrics, virality metrics, engagement metrics, conversion metrics,location metrics, and storyteller metrics. A reach metric identifies anumber of unique users performing a particular action on a content itemand/or derivatives of the content item. For example, a reach metrictracks users viewing a content item, sharing a content item, liking acontent item, selecting a content item, or performing other suitableactions with a content item. A reach metric may be segmented based ondemographics, geographic location, types of user actions, interests ofusers, and other user characteristics. A virality metric describes howquickly a content item was distributed throughout the social networkingsystem 205, the replication rate of a content item over time. Viralitymetrics may be compared for different content items. Additional detailsabout a reach metric, a virality metric, and other metrics (e.g.,engagement and storyteller) are provided in the '515 application.

The metric data module 350 processes visualization requests receivedfrom devices 210 and creates metric data from the metric analysis module345. Metric data is generated from formatting one or more metrics fromthe metric analysis module 345 for delivery to the requesting device 210based on a visualization request. For example, reach data is generatedfrom one or more reach metric(s) formatted for delivery to a device 210from which the visualization request is received based on information inthe visualization request. As noted above, a request to visualize aparticular data type, such as reach data, includes one or more requestparameters. Examples request parameters specify one or more of a datatype, a graphic type, a metric type, one or more filters, or othersuitable data. A data type specifies whether the device 210 requests rawvalues that the device 210 uses to create a data graph or whether thedevice 210 requests a data graph generated by the social networkingsystem 205. Graphic type identifies a format or type of a graph used todisplay received metric data. In some embodiments, a graphic typespecification identifies a default format associated with a user thatmay be stored in the user profile store 325. One or more filtersidentify limits on the metric data that is visualized. For example, auser may not be interested in the geographic locations of users whendisplaying reach data, and provides one or more filters to remove thegeographic locations of users. Based on the visualization request, themetric data module 350 retrieves one or more metrics from metricanalysis module 345 and formats the retrieved metric based on thevisualization request parameters. For example, metric data module 350filters the raw data from the retrieved metric based on parameters inthe visualization request. Generated metric data is communicated to theweb server 305 for communication to the device 210 from which thevisualization request was received.

If a social networking system user posts a derivative of a previouslyposted content item, in some embodiments the metric data module 345provides metric data associated with the content item and with thederivative of the content item. For example, the metric data module 345may communicate metric data to a device 210 so that the user associatedwith the device 210 views interactions with the content item by socialnetworking system after a derivative of the content item is posted, buthas limited visibility to interactions with the content item prior toposting of the derivative of the content item As another example, theprovided metric data allows a user of the device 210 to viewinteractions with the content item before and after posting of aderivative of the content item.

Visualizing Reach of a Content Item within the Social Networking System

FIG. 4 illustrates a flowchart of one embodiment of a process 400 forvisualizing reach of a content item distributed via the socialnetworking system 205. A device 210 receives 405 content or adescription of content from a user of the social networking system 205.For example, the user manually loads the content to the device 210,stores the content from a data source 215 accessed via the device 210,or otherwise communicates the content to the device 210.

The device 210 receives 410 a request to post the content (or re-post acontent item) to the social networking system 205, allowing socialnetworking system users to access the content, and sends 415 the contentto the social networking system 205 for posting as a content item. Forexample, device 210 receives 410 the request to post the content andsends the content to post as a content item via a local application or abrowser that interfaces with the social networking system 205. In someembodiments, the user specifies a tracking property associated with thecontent item to cause the social networking system 205 to generatetracking data for the content item. In such cases, the tracking propertymay be set when the content is posted or after the content has beenposted. Alternatively, the social networking system 205 generatestracking data when the content is received by the social networkingsystem 205. In cases where the user is re-posting a content itemassociated with a different user, the device 210 sends 415 a pointer tothe posted content item or the posted content item to the socialnetworking system 205.

After the content item is presented via the social networking system205, the device 210 receives 420 a request to visualize the reach of theposted content item. For example, the user accesses the socialnetworking system 205 and selects a reach-tracking option associatedwith a particular content item. The device 210 sends 425 a visualizationrequest to the social networking system 205. As discussed above inconjunction with FIGS. 1A and 3, the visualization request includes oneor more parameters. The social networking system 205 determines thereach data as further described in conjunction with FIG. 3 and FIG. 5,and communicates the reach data to the device 210.

The device 210 receives 430 the reach data associated with the contentitem and/or derivatives thereof from the social networking system 205and presents 435 the reach data to the user. For example, the reach datais presented 435 using a default data graph format. In one embodiment,the device 210 receives 440 a format preference for modifying display ofthe reach data. As discussed above in conjunction with FIGS. 1A and 3the reach data may include multiple aspects for display. For example,referring to FIGS. 1A-1C, a user selects a soft button to change theaction presented 435 to the user via the device 210. Or, the user maychange the display of the reach data to a different type of data graph.The device 210 then present 445 the reach data to the user based on thereceived format preference. While FIG. 4 is directed toward presentingreach data, other metric data may be displayed using a similar process.

Creating Reach Data for Content Items

FIG. 5 illustrates one embodiment of a process 500 for creating andpresenting data visualizing reach of a content item within a socialnetworking system 205. The social networking system 205 receives 505 arequest to post content, or to repost a content item, from a device 210associated with a user of the social networking system 205. Based on therequest, the content item is posted 510 by the social networking systemas a content item, allowing social networking system users to access thecontent item 205. For example, the content item is presented to users ofthe social networking system 205 connected to the user from which therequest to post content was received 505. Additionally, the socialnetworking system 205 may re-post 510 a content item that has beenpreviously posted by another user of the social networking system 205.

The social networking system creates 515 label objects and edge objectstracking interactions with the content item and/or derivatives of thecontent item by social networking system users. Creation of labelobjects and edge objects is further described in U.S. application Ser.No. 13/229,515, filed on Sep. 9, 2011, which is hereby incorporated byreference in its entirety. In alternate embodiments, the socialnetworking system 205 does not create 515 label objects and/or edgeobjects until a tracking property of the posted content item is set. Forexample, the user selects the tracking property of the content itemwhile posting the content.

As users presented with the posted content item interact with thecontent item, the content item or communications associated with thecontent item are sent to users of the social networking system connectedto the users presented with the posted content item. This allows theusers initially viewing the content item to share the content item withother users or to notify other users to which they are connected oftheir interactions with the content item. Label objects tracking thecommunications associated with the content item and/or trackinginteractions with the content item by the users of the social networkingsystem connected to the users initially presented with the postedcontent item are created 515. This allows the social networking system205 to monitor interactions with the content item as social networkingsystem users communicate about the content item or distribute thecontent item.

After presentation of the content item via the social networking system205, the social networking system 205 receives 520 a visualizationrequest to visualize the reach of the posted content item. Thevisualization request may include one or more parameters, as discussedabove in conjunction with FIG. 3. The visualization request may identifyvisualization of the reach of the posted content item or may identifyvisualization of other metrics, such as virality, engagement, or othersuitable metric.

Label objects and edge objects associated with the content item andderivatives of the content item are retrieved 525 from the edge store330 and from the label store 335. Using the retrieved label objects andedge objects, the social networking system 205 determines 530 a reachmetric, as further described in U.S. application Ser. No. 13/229,515,filed on Sep. 9, 2011, which is hereby incorporated by reference in itsentirety. For example, users performing actions involving a content itemare identified from label objects associated with the content item anddata from the edge store 330 identifies connections between usersperforming actions involving the content item and the user posting thecontent item. In some embodiments, the social networking system 205determines other metrics, such as virality metrics, engagement metrics,conversion metrics, location metrics, and storyteller metrics from theretrieved label objects and edge objects.

From the determined reach metric and the visualization request, thesocial networking system 205 determines 535 reach data. For example, thesocial networking system determines 535 reach data from a reach metricand one or more parameters specified by the visualization request. Thegenerated reach data is provided 540 to the device 210 for presentationto the user, as described above in conjunction with FIGS. 1A-1C.

The social networking system 205 may receive visualization requests fromother users of the social networking system that have posted aderivative of the content item. The metric data provided to usersposting a derivative of the content item may vary in differentembodiments. For example, metric data provided is provided to a device210 so that the user associated with the device 210 views interactionswith the derivative of the content item after the derivative of thecontent item is posted, but has limited visibility to interactions withthe content item prior to posting of the derivative of the content itemAs another example, the provided metric data allows a user of the device210 to view interactions with the content item before and after postingof the derivative of the content item.

SUMMARY

The foregoing description of the embodiments has been presented for thepurpose of illustration; it is not intended to be exhaustive or to limitthe disclosure to the precise forms disclosed. Persons skilled in therelevant art can appreciate that many modifications and variations arepossible in light of the above disclosure.

Some portions of this description describe the embodiments in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations are commonly used bythose skilled in the data processing arts to convey the substance oftheir work effectively to others skilled in the art. These operations,while described functionally, computationally, or logically, areunderstood to be implemented by computer programs or equivalentelectrical circuits, microcode, or the like. Furthermore, it has alsoproven convenient at times, to refer to these arrangements of operationsas modules, without loss of generality. The described operations andtheir associated modules may be embodied in software, firmware,hardware, or any combinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments may also relate to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, and/or it may comprise a general-purpose computingdevice selectively activated or reconfigured by a computer programstored in the computer. Such a computer program may be stored in anon-transitory, tangible computer readable storage medium, or any typeof media suitable for storing electronic instructions, which may becoupled to a computer system bus. Furthermore, any computing systemsreferred to in the specification may include a single processor or maybe architectures employing multiple processor designs for increasedcomputing capability.

Embodiments may also relate to a product that is produced by a computingprocess described herein. Such a product may comprise informationresulting from a computing process, where the information is stored on anon-transitory, tangible computer readable storage medium and mayinclude any embodiment of a computer program product or other datacombination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the embodiments be limitednot by this detailed description, but rather by any claims that issue onan application based hereon. Accordingly, the disclosure of theembodiments is intended to be illustrative, but not limiting, of thescope of the disclosure, which is set forth in the following claims.

What is claimed is:
 1. A computer-implemented method comprising:determining a direct reach of a content item in a social networkingsystem based on a first set of users who are directly connected to aposting user who posted the content item in the social networkingsystem, the direct reach comprising a total number of the first set ofusers that interacted with the content item; determining an indirectreach of the content item in the social networking system based on asecond set of users who are indirectly connected to the posting user inthe social networking system, the indirect reach comprising a totalnumber of the second set of users that interacted with the content itemas a result of the posting user providing the content to the socialnetworking system; and sending for display a data graph to the postinguser, the data graph based in part on reach data about the reach of thecontent item, the reach data comprising the determined direct reach andthe determined indirect reach, the data graph presenting the totalnumber of the first set of users that interacted with the content itemand the total number of the second set of users that interacted with thecontent item as a result of the posting user providing the content tothe social networking system.
 2. The method of claim 1, wherein thedirect reach of the content item describes a number of users in thefirst set of users performing a specified type of interaction with thecontent item, and the number of users is grouped based on connectionsbetween the posting user and the users in the first set of usersperforming the specified type of interaction with the content item. 3.The method of claim 1, wherein determining the indirect reach of thecontent item in the social networking system based on the second set ofusers comprises: determining information about one or more interactionswith the content item by one or more of the second set of users.
 4. Themethod of claim 1, further comprising: receiving a request to post aderivative of the content item from a different posting user of thesocial networking system; sending the derivative of the content item fordisplay to an additional set of users of the social networking system;receiving information about one or more interactions with the derivativeof the content item by one or more of the additional set of users; basedon one or more of the interactions, sending one or more communicationsassociated with the derivative of the content item for display to asecond additional set of users of the social networking system;determining a direct reach of the derivative of the content item in thesocial networking system based on the first set of users; determining anindirect reach of the content item in the social networking system basedon the second set of users; and sending for display to the differentposting user information about the reach of the derivative of thecontent item, the reach comprising the determined direct reach and thedetermined indirect reach.
 5. The method of claim 4, further comprising:modifying the information about the reach of the content item based onthe information about the reach of the derivative of the content item.6. A method comprising: receiving a request from a posting user of asocial networking system for reach information about a content item;determining reach data comprising information about a total number of afirst set of users that interacted with the content item and a totalnumber of a second set of users that interacted with the content item asa result of the posting user providing the content to the socialnetworking system, the reach data describing direct reach of the contentitem and indirect reach of the content item, the direct reach of thecontent item describing a number of users in the first set of usersperforming a specified type of interaction with the content item, andthe number of users is grouped based on connections between the postinguser and the users in the first set of users performing the specifiedtype of interaction with the content item; and sending for display adata graph to the posting user, the data graph based in part on reachdata about the reach of the content item, the reach data comprising thedetermined direct reach and the determined indirect reach, the datagraph presenting the total number of the first set of users thatinteracted with the content item and the total number of the second setof users that interacted with the content item as a result of theposting user providing the content to the social networking system. 7.The method of claim 6, wherein the request includes one or moreparameters selected from the group consisting of: a data type, a graphictype, a metric type, one or more filter criteria, and any combinationthereof.
 8. The method of claim 6, further comprising: receiving arequest to post a derivative of the content item from a differentposting user of the social networking system; providing the derivativeof the content item for presentation to an additional set of users ofthe social networking system that are connected to the different postinguser; receiving information about one or more interactions with theadditional content item by one or more of the additional set of users;providing the derivative content item for presentation to a secondadditional set of users of the social networking system that areconnected to one or more of the additional set of users that interactedwith the derivative of the content item; receiving information about oneor more interactions with the derivative of the content item from one ormore of the second additional set of users; receiving a request from thedifferent posting user for reach information about the derivative of thecontent item; determining reach data of the derivative of the contentitem comprising information about a number of the additional set ofusers that interacted with the derivative of the content item and anumber of the second additional set of users that interacted with thederivative of the content item; and sending the reach data for displayto the different posting user.
 9. The method of claim 8, furthercomprising: modifying the reach data based on the reach data of thederivative of the content item.
 10. The method of claim 6, wherein thetype of interaction is specified by the request with the content item.11. The method of claim 6, wherein the reach data identifies a number ofthe first set of users that interacted with the content item having atype of connection to the posting user, the type of connectionidentified by the request.
 12. The method of claim 11, wherein the reachdata identifies a number of the second set of users that interacted withthe content item having the type of connection to the posting user. 13.A method comprising: receiving a request to visualize interactionsbetween a content item posted by a user of a social networking systemand other users of the social networking system; sending the request tothe social networking system; determining data associated with thecontent item identifying social networking system users interacting withthe content item and interactions with the content item, the determineddata based in part on reach data received from the social networkingsystem, the reach data comprising: direct reach data about the reach ofthe content item comprising a total number of a first set of users thatinteracted with the content item and are directly connected to the userin the social networking system, the direct reach of the content itemdescribing a number of users in the first set of users performing aspecified type of interaction with the content item, and the number ofusers is grouped based on connections between the user and the users inthe first set of users performing the specified type of interaction withthe content item, and indirect reach data about the reach of the contentitem comprising a total number of a second set of users who areconnected to one or more of the first set of users that interacted withthe content item as a result of the user providing the content to thesocial networking system; and presenting the data associated with thecontent item to the user in a data graph, the data including the totalnumber of the first set of users that interacted with the content itemand the total number of the second set of users that interacted with thecontent item as a result of the user providing the content to the socialnetworking system.
 14. The method of claim 13, wherein the dataidentifies a number of unique social networking system users performingthe specified type of interaction with the content item.
 15. The methodof claim 14, wherein the type of interaction is selected from a groupconsisting of: sharing, selecting, viewing, expressing a preference, andany combination thereof.
 16. The method of claim 14, wherein the dataidentifies a rate at which the content item is distributed to users ofthe social networking system.